/*
 * 软件版权: 恒生电子股份有限公司
 * 修改记录:
 * 修改日期     修改人员  修改说明
 * ========    =======  ============================================
 * 2021/3/30  lisy31662  新增
 * ========    =======  ============================================
 */
package com.sansi.pencilbook.service;

import com.sansi.pencilbook.DO.Result;
import com.sansi.pencilbook.Enum.RelationEnum;
import com.sansi.pencilbook.entity.UserBookRelation;

/**
 * 功能说明: 用户和书籍关系的业务服务
 *
 * @author lisy31662
 */
public interface UserBookRelationServer {

  public Result getUserBookRelationAll();

  //获得用户的所有关系
  public Result getUserBookRelationByUser(int userId);

  //获得书籍的所有关系
  public Result getUserBookRelationByBook(String isbn);

  //获得某种关系
  public Result getUserBookRelationByRelation(RelationEnum relationEnum);

  //获得用户的某种关系
  public Result getUserBookRelationByUserRelation(int userId, RelationEnum relationEnum);

  //获得分页后用户的某种关系
  public Result getUserBookRelationByUserRelation(int userId, RelationEnum relationEnum, int pageNum, int pageSize);

  //获得用户和书籍的所有关系
  public Result getUserBookRelationByUserBook(int userId, String isbn);

  //获取用户和书籍某种关系
  public Result getUserBookRelationByUserBookRelation(int userId, String isbn, RelationEnum relationEnum);

  public Result addUserBookRelation(UserBookRelation userBookRelation);

  public Result modifyUserBookRelation(UserBookRelation userBookRelation);

  public Result deleteUserBookRelation(UserBookRelation userBookRelation);

}
